from fastapi import Depends

from config.database import DBSession
from utils.log_util import logger


# SQLAlchemy的同步和异步
# https://developer.aliyun.com/article/1611594

def get_database_session():
    """
    每一个请求处理完毕后会关闭当前连接，不同的请求使用不同的连接
    :return:
    """
    session = DBSession()
    try:
        logger.info("获取当前数据库会话...")
        yield session
        logger.info("yield之后当前数据库会话...")
    finally:
        logger.info("关闭当前数据库会话...")
        session.close()
